In multi-level scheduling of memory between virtual machines (VMs) and the virtualization software (also known as a “hypervisor”), double-paging is a common issue that arises when a sequence of events occur. Double paging occurs when a VM wishes to reclaim the VM's memory and thus moves content from the VM's memory out to a guest swap file. This is also known as “paging” the content out to the guest swap file. If the content being paged out includes references to the hypervisor's memory and the hypervisor has previously moved the referenced content from the hypervisor's memory to a host swap file for purposes of reclaiming hypervisor memory, then we run into a double-paging problem. For example to page the content out to the guest swap file, the content stored in the host swap file must first be swapped back into the hypervisor's memory and second be paged out to the guest swap file. This is a time consuming process. One solution to address this issue is to allow the hypervisor to access content on both the guest swap file and the host swap file. However, this technique can result in increased read input/output (I/O) latency since the hypervisor may need to request content from multiple swap files, and sometimes has to perform multiple read requests to the same swap file.